package com.ruoyi.hospital.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 排班信息对象 schedules
 *
 * @author ruoyi
 * @date 2025-07-03
 */
public class Schedules extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long scheduleId;

    /** 医生ID */
    @Excel(name = "医生ID")
    private Long doctorId;

    /** 医生姓名 */
    @Excel(name = "医生姓名")
    private String doctorName;

    public String getDoctorName() {
        return doctorName;
    }

    public void setDoctorName(String doctorName) {
        this.doctorName = doctorName;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    /** 科室名称 */
    @Excel(name = "科室名称")
    private String deptName;



    /** 排班日期 */
    @Excel(name = "排班日期")
    private String date;

    /** 上午开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上午开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date morningStart;

    /** 上午结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "上午结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date morningEnd;

    /** 下午开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下午开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date afternoonStart;

    /** 下午结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "下午结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date afternoonEnd;

    /** 夜间开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "夜间开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nightStart;

    /** 夜间结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "夜间结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date nightEnd;

    /** 上午号源数量 */
    @Excel(name = "上午号源数量")
    private Long morningQuota;

    /** 下午号源数量 */
    @Excel(name = "下午号源数量")
    private Long afternoonQuota;

    /** 夜间号源数量 */
    @Excel(name = "夜间号源数量")
    private Long nightQuota;

    /** 上午剩余号源 */
    @Excel(name = "上午剩余号源")
    private Long morningRemaining;

    /** 下午剩余号源 */
    @Excel(name = "下午剩余号源")
    private Long afternoonRemaining;

    /** 夜间剩余号源 */
    @Excel(name = "夜间剩余号源")
    private Long nightRemaining;

    /** 删除标志（0=未删除，1=已删除） */
    private Integer deleted;

    public void setScheduleId(Long scheduleId)
    {
        this.scheduleId = scheduleId;
    }

    public Long getScheduleId()
    {
        return scheduleId;
    }

    public void setDoctorId(Long doctorId)
    {
        this.doctorId = doctorId;
    }

    public Long getDoctorId()
    {
        return doctorId;
    }

    public void setDate(String date)
    {
        this.date = date;
    }

    public String getDate()
    {
        return date;
    }

    public void setMorningStart(Date morningStart)
    {
        this.morningStart = morningStart;
    }

    public Date getMorningStart()
    {
        return morningStart;
    }

    public void setMorningEnd(Date morningEnd)
    {
        this.morningEnd = morningEnd;
    }

    public Date getMorningEnd()
    {
        return morningEnd;
    }

    public void setAfternoonStart(Date afternoonStart)
    {
        this.afternoonStart = afternoonStart;
    }

    public Date getAfternoonStart()
    {
        return afternoonStart;
    }

    public void setAfternoonEnd(Date afternoonEnd)
    {
        this.afternoonEnd = afternoonEnd;
    }

    public Date getAfternoonEnd()
    {
        return afternoonEnd;
    }

    public void setNightStart(Date nightStart)
    {
        this.nightStart = nightStart;
    }

    public Date getNightStart()
    {
        return nightStart;
    }

    public void setNightEnd(Date nightEnd)
    {
        this.nightEnd = nightEnd;
    }

    public Date getNightEnd()
    {
        return nightEnd;
    }

    public void setMorningQuota(Long morningQuota)
    {
        this.morningQuota = morningQuota;
    }

    public Long getMorningQuota()
    {
        return morningQuota;
    }

    public void setAfternoonQuota(Long afternoonQuota)
    {
        this.afternoonQuota = afternoonQuota;
    }

    public Long getAfternoonQuota()
    {
        return afternoonQuota;
    }

    public void setNightQuota(Long nightQuota)
    {
        this.nightQuota = nightQuota;
    }

    public Long getNightQuota()
    {
        return nightQuota;
    }

    public void setMorningRemaining(Long morningRemaining)
    {
        this.morningRemaining = morningRemaining;
    }

    public Long getMorningRemaining()
    {
        return morningRemaining;
    }

    public void setAfternoonRemaining(Long afternoonRemaining)
    {
        this.afternoonRemaining = afternoonRemaining;
    }

    public Long getAfternoonRemaining()
    {
        return afternoonRemaining;
    }

    public void setNightRemaining(Long nightRemaining)
    {
        this.nightRemaining = nightRemaining;
    }

    public Long getNightRemaining()
    {
        return nightRemaining;
    }

    public void setDeleted(Integer deleted)
    {
        this.deleted = deleted;
    }

    public Integer getDeleted()
    {
        return deleted;
    }


    @Override
    public String toString() {
        return "Schedules{" +
                "scheduleId=" + scheduleId +
                ", doctorId=" + doctorId +
                ", doctorName='" + doctorName + '\'' +
                ", deptName='" + deptName + '\'' +
                ", date='" + date + '\'' +
                ", morningStart=" + morningStart +
                ", morningEnd=" + morningEnd +
                ", afternoonStart=" + afternoonStart +
                ", afternoonEnd=" + afternoonEnd +
                ", nightStart=" + nightStart +
                ", nightEnd=" + nightEnd +
                ", morningQuota=" + morningQuota +
                ", afternoonQuota=" + afternoonQuota +
                ", nightQuota=" + nightQuota +
                ", morningRemaining=" + morningRemaining +
                ", afternoonRemaining=" + afternoonRemaining +
                ", nightRemaining=" + nightRemaining +
                ", deleted=" + deleted +
                '}';
    }
}
